#ifndef CUBE_UIEVENTDISPATCHER_H_
#define CUBE_UIEVENTDISPATCHER_H_

struct Observer;

typedef std::list< Observer* > ObserverList;
typedef std::list< Observer* >::iterator ObserverListIter;

class UIEventDispatcher : public Subject
{
public :
	void			Attach( Observer* observer );
	void			Detach( Observer* observer );
	void			DetachAll();
	void			Notify( void* info );

private :
	ObserverList	_receiverList;
};

#endif